
public class Liczba {

	private static final int MAX_PODSTAWA = 36;
	private static final String pattern = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

	// zwraca liczbe po konwersji lub "null" jesli nie spelnia warunkow
	public static String convertTo(int n, int podstawa) {
		String result = "";

		// podstawa zbyt duza lub mala
		if ((podstawa > MAX_PODSTAWA) || (podstawa < 2))
			return null;

		// jezeli liczba to 0 konczy proces i zwraca "0"
		if (n == 0)
			return "0";

		// kontynuuje proces jesli liczba jest wieksza od 0
		while (n > 0) {
			result = pattern.charAt(n % podstawa) + result;

			n /= podstawa;

		}

		return result;
	}

	public static void main(String[] args) {

		System.out.println("10 w systemie dwojkowym = " + convertTo(10, 2));

		System.out.println("3568 w systemie trojkowym = " + convertTo(3568, 3));

		System.out.println("3568 w systemie osemkowym = " + convertTo(3568, 8));

		System.out.println("3568 w systemie szesnastkowym = "
				+ convertTo(3568, 16));

		System.out.println("3568 w systemie dwudziestkowym = "
				+ convertTo(3568, 20));

	}

}